# 定义Sigmoid函数
def Sigmoid(x):    
    return 1. / (1. + np.exp(-x))

if __name__ == '__main__':
    # param：起点，终点，间距
    x = np.arange(-8, 8, 0.02)
    
    fig = plt.figure()
    ax = plt.gca()
    ax.xaxis.set_ticks_position('bottom') #将x轴刻度设在下面的坐标轴上
    ax.yaxis.set_ticks_position('left')  #将y轴刻度设在左边的坐标轴上
    ax.spines['bottom'].set_position(('data', 0)) 
    #将两个坐标轴的位置设在数据点原点

    ax.spines['left'].set_position(('data', 0))
    
    y1 = 4* Sigmoid( -2 * x + 4 ) + 1 # 在整个x区间定义f1(x)函数，
    ax.plot(x, y1) 

    # 在整个x区间定义f2(x)函数，0是沿y轴平移到x轴，使y=0
    y2 = 2 * Sigmoid(4 * x + - 20) + 0 
    ax.plot(x, y2) 

   # 在整个x区间定义f3(x)函数，0是沿y轴平移到x轴，使y=0
    y3 = -4 * Sigmoid(4 * x + -29) + 0 
    ax.plot(x, y3)
    
    y = y1 + y2 + y3 # 分段函数相加，组合成完整的f(x)函数
   
    ax.plot(x, y)
    plt.show()
